package Java8实战._3_Stream_用流收集数据._2_归约和汇总;

import Java8实战._3_Stream_用流收集数据.Dish;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

import static java.util.stream.Collectors.joining;

public class _3_连接字符串 {
    public static void main(String[] args) {
        List<Dish> menu = Arrays.asList(
                new Dish("pork",false,800, Dish.Type.MEAT),
                new Dish("beef",false,700, Dish.Type.MEAT),
                new Dish("chicken", false, 400, Dish.Type.MEAT),
                new Dish("french fries", true, 530, Dish.Type.OTHER),
                new Dish("rice", true, 350, Dish.Type.OTHER),
                new Dish("season fruit", true, 120, Dish.Type.OTHER),
                new Dish("pizza", true, 550, Dish.Type.OTHER),
                new Dish("prawns", false, 300, Dish.Type.FISH),
                new Dish("salmon", false, 450, Dish.Type.FISH)
        );

        String names;

        names = menu.stream()
                .map(Dish::getName)
                .collect(Collectors.joining())
                ;
        System.out.println("名字1：" + names);

        //报错，不知道为啥
//        names = (String) menu.stream()
//                .collect(Collectors.joining(","));

        names = menu.stream()
                .map(Dish::getName)
                .collect(Collectors.joining(", "));
        System.out.println("名字2：" + names);
    }
}
